/*
 * @Author: 天稻 2283341909@qq.com
 * @Date: 2023-02-18 17:31:07
 * @LastEditors: 天稻 2283341909@qq.com
 * @LastEditTime: 2023-04-17 23:47:59
 * @FilePath: \web-project\src\http\utils.js
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */
const successCode = ['00000',undefined]
import { ElMessage } from 'element-plus'
import store from '@/store/index'
function message(msg, type = 'error') {
  ElMessage({
    message: msg,
    type
  })
}

export function handleResponse(res) {
  const { status, data } = res
  
  if (status === 200 && !successCode.includes(data.code)) message(data.msg || data.data)

  switch(data.code){
    case '99996':
      // 未登录
      store.commit('CLEARUSERINFOR')
      break
    // 其他错误暂时不要做处理，提示处理上面已经做了
  }
  return status === 200 && successCode.includes(data.code)
}
export function handleError(err) {
  console.log('error进来了', err)
  const { code, response } = err
  if (code === 'ECONNABORTED') {
    // 请求超时
    message('请求超时，请重试')
    return
  }
  if (!response) {
    message('未知错误')
    return
  }
  const { status } = response
  switch (status) {
    // 403 没权限
    case 403:
      message(`你没权限访问此资源!${process.env.NODE_ENV === 'production' ? '' : ' ' + response.config.url}`)
      break
    // 404请求不存在
    case 404:
      message('网络请求不存在-404')
      break
    // 500错误
    case 500:
      message('服务器内部出现错误-500')
      break
    // 其他错误，直接抛出错误提示
    default:
      message(response.data.message)
  }
}
